home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 1.toast / Sample Code / Contributed / SpriteWorld / SpriteWorld Files / BlitPixie / Assembler / PPC / BlitPixieRLE.s < prev    next >
Encoding:
Text File  |  2000-10-06  |  6.7 KB  |  269 lines  |  [TEXT/MPS ]

  1. ; DO NOT EDIT (OR EVEN READ) THIS FILE!
  2. ; BlitPixieRLE.s (for PPCAsm), auto-generated from BlitPixieRLE.c
  3.  
  4.     INCLUDE    'AsmGlobal.s'
  5.  
  6.  
  7.     MakeFunction BlitPixieRLE
  8.         stmw     r26,-24(SP)
  9.         mr       r28,r4
  10.         mr       r27,r5
  11.         lwz      r31,0(r3)
  12.         addi     r3,r3,4
  13.         rlwinm   r30,r31,8,24,31
  14.         rlwinm   r31,r31,0,8,31
  15.         cmplwi   r30,$0002
  16.         bne      *+200                   ; $000000E8
  17.         rlwinm   r0,r4,0,30,31
  18.         rlwinm   r29,r31,27,5,31
  19.         rlwinm   r31,r31,0,27,31
  20.         cmpli    cr5,0,r0,$0000
  21.         cmpli    cr6,0,r29,$0000
  22.         cmpli    cr7,0,r31,$0000
  23.         mtctr    r29
  24.         mtxer    r31
  25.         bc       12,26,*+132             ; $000000C8
  26.         bc       4,22,*+52               ; $0000007C
  27.         lfd      fp1,0(r3)
  28.         lfd      fp2,8(r3)
  29.         lfd      fp3,16(r3)
  30.         lfd      fp4,24(r3)
  31.         addi     r3,r3,32
  32.         stfd     fp1,0(r4)
  33.         stfd     fp2,8(r4)
  34.         stfd     fp3,16(r4)
  35.         stfd     fp4,24(r4)
  36.         addi     r4,r4,32
  37.         bdnz     *-40                    ; $0000004C
  38.         b        *+80                    ; $000000C8
  39.         lwz      r5,0(r3)
  40.         lwz      r6,4(r3)
  41.         lwz      r7,8(r3)
  42.         lwz      r8,12(r3)
  43.         lwz      r9,16(r3)
  44.         lwz      r10,20(r3)
  45.         lwz      r11,24(r3)
  46.         lwz      r12,28(r3)
  47.         addi     r3,r3,32
  48.         stw      r5,0(r4)
  49.         stw      r6,4(r4)
  50.         stw      r7,8(r4)
  51.         stw      r8,12(r4)
  52.         stw      r9,16(r4)
  53.         stw      r10,20(r4)
  54.         stw      r11,24(r4)
  55.         stw      r12,28(r4)
  56.         addi     r4,r4,32
  57.         bdnz     *-72                    ; $0000007C
  58.         bc       12,30,*+20              ; $000000DC
  59.         lswx     r5,r0,r3
  60.         add      r3,r3,r31
  61.         stswx    r5,r0,r4
  62.         add      r4,r4,r31
  63.         addi     r3,r3,3
  64.         rlwinm   r3,r3,0,0,29
  65.         b        *-216                   ; $0000000C
  66.         cmplwi   r30,$0003
  67.         bne      *+12                    ; $000000F8
  68.         add      r4,r4,r31
  69.         b        *-232                   ; $0000000C
  70.         cmplwi   r30,$0004
  71.         bne      *+176                   ; $000001AC
  72.         lwz      r5,0(r3)
  73.         addi     r3,r3,4
  74.         rlwinm   r0,r4,0,30,31
  75.         rlwinm   r29,r31,27,5,31
  76.         rlwinm   r31,r31,0,27,31
  77.         cmpli    cr5,0,r0,$0000
  78.         cmpli    cr6,0,r29,$0000
  79.         cmpli    cr7,0,r31,$0000
  80.         mtctr    r29
  81.         mtxer    r31
  82.         bc       12,26,*+88              ; $00000180
  83.         bc       4,22,*+44               ; $00000158
  84.         stw      r5,-32(SP)
  85.         stw      r5,-28(SP)
  86.         lfd      fp0,-32(SP)
  87.         stfd     fp0,0(r4)
  88.         stfd     fp0,8(r4)
  89.         stfd     fp0,16(r4)
  90.         stfd     fp0,24(r4)
  91.         addi     r4,r4,32
  92.         bdnz     *-20                    ; $0000013C
  93.         b        *+44                    ; $00000180
  94.         stw      r5,0(r4)
  95.         stw      r5,4(r4)
  96.         stw      r5,8(r4)
  97.         stw      r5,12(r4)
  98.         stw      r5,16(r4)
  99.         stw      r5,20(r4)
  100.         stw      r5,24(r4)
  101.         stw      r5,28(r4)
  102.         addi     r4,r4,32
  103.         bdnz     *-36                    ; $00000158
  104.         bc       12,30,*+40              ; $000001A8
  105.         mr       r6,r5
  106.         mr       r7,r5
  107.         mr       r8,r5
  108.         mr       r9,r5
  109.         mr       r10,r5
  110.         mr       r11,r5
  111.         mr       r12,r5
  112.         stswx    r5,r0,r4
  113.         add      r4,r4,r31
  114.         b        *-412                   ; $0000000C
  115.         cmplwi   r30,$0001
  116.         bne      *+16                    ; $000001C0
  117.         mr       r4,r28
  118.         add      r28,r28,r27
  119.         b        *-432                   ; $0000000C
  120.         cmplwi   r30,$0000
  121.         beq      *+4                     ; $000001C8
  122.         lmw      r26,-24(SP)
  123.         blr
  124.  
  125.     MakeFunction BlitPixieRLEClipped
  126.         stmw     r18,-60(SP)
  127.         lha      r21,0(r6)
  128.         lha      r23,2(r6)
  129.         lha      r20,4(r6)
  130.         lha      r22,6(r6)
  131.         mr       r28,r4
  132.         mr       r27,r5
  133.         li       r18,0
  134.         lwz      r31,0(r3)
  135.         addi     r3,r3,4
  136.         rlwinm   r30,r31,8,24,31
  137.         rlwinm   r31,r31,0,8,31
  138.         cmplwi   r30,$0002
  139.         bne      *+224                   ; $00000114
  140.         add      r26,r19,r31
  141.         subi     r26,r26,1
  142.         cmpl     cr5,0,r19,r23
  143.         cmpl     cr6,0,r26,r23
  144.         bc       4,20,*+28               ; $00000064
  145.         bc       4,25,*+176              ; $000000FC
  146.         subf     r25,r19,r23
  147.         add      r3,r3,r25
  148.         add      r4,r4,r25
  149.         add      r19,r19,r25
  150.         subf     r31,r25,r31
  151.         li       r25,0
  152.         cmpl     cr5,0,r26,r22
  153.         cmpl     cr6,0,r19,r22
  154.         bc       12,20,*+16              ; $00000080
  155.         bc       4,24,*+136              ; $000000FC
  156.         subf     r25,r22,r26
  157.         subf     r31,r25,r31
  158.         rlwinm   r29,r31,27,5,31
  159.         rlwinm   r31,r31,0,27,31
  160.         cmpli    cr6,0,r29,$0000
  161.         cmpli    cr7,0,r31,$0000
  162.         mtxer    r31
  163.         add      r31,r31,r25
  164.         bc       12,26,*+88              ; $000000F0
  165.         mtctr    r29
  166.         addi     r19,r19,32
  167.         lwz      r5,0(r3)
  168.         lwz      r6,4(r3)
  169.         lwz      r7,8(r3)
  170.         lwz      r8,12(r3)
  171.         lwz      r9,16(r3)
  172.         lwz      r10,20(r3)
  173.         lwz      r11,24(r3)
  174.         lwz      r12,28(r3)
  175.         addi     r3,r3,32
  176.         stw      r5,0(r4)
  177.         stw      r6,4(r4)
  178.         stw      r7,8(r4)
  179.         stw      r8,12(r4)
  180.         stw      r9,16(r4)
  181.         stw      r10,20(r4)
  182.         stw      r11,24(r4)
  183.         stw      r12,28(r4)
  184.         addi     r4,r4,32
  185.         bdnz     *-76                    ; $000000A0
  186.         bc       12,30,*+12              ; $000000FC
  187.         lswx     r5,r0,r3
  188.         stswx    r5,r0,r4
  189.         add      r3,r3,r31
  190.         add      r4,r4,r31
  191.         add      r19,r19,r31
  192.         addi     r3,r3,3
  193.         rlwinm   r3,r3,0,0,29
  194.         b        *-240                   ; $00000020
  195.         cmplwi   r30,$0003
  196.         bne      *+16                    ; $00000128
  197.         add      r4,r4,r31
  198.         add      r19,r19,r31
  199.         b        *-260                   ; $00000020
  200.         cmplwi   r30,$0004
  201.         bne      *+204                   ; $000001F8
  202.         add      r26,r19,r31
  203.         subi     r26,r26,1
  204.         cmpl     cr5,0,r19,r23
  205.         cmpl     cr6,0,r26,r23
  206.         bc       4,20,*+24               ; $00000158
  207.         bc       4,25,*+164              ; $000001E8
  208.         subf     r25,r19,r23
  209.         add      r4,r4,r25
  210.         add      r19,r19,r25
  211.         subf     r31,r25,r31
  212.         li       r25,0
  213.         cmpl     cr5,0,r26,r22
  214.         cmpl     cr6,0,r19,r22
  215.         bc       12,20,*+16              ; $00000174
  216.         bc       4,24,*+128              ; $000001E8
  217.         subf     r25,r22,r26
  218.         subf     r31,r25,r31
  219.         rlwinm   r29,r31,27,5,31
  220.         rlwinm   r31,r31,0,27,31
  221.         lwz      r5,0(r3)
  222.         cmpli    cr6,0,r29,$0000
  223.         cmpli    cr7,0,r31,$0000
  224.         mtxer    r31
  225.         add      r31,r31,r25
  226.         bc       12,26,*+52              ; $000001C4
  227.         mtctr    r29
  228.         addi     r19,r19,32
  229.         stw      r5,0(r4)
  230.         stw      r5,4(r4)
  231.         stw      r5,8(r4)
  232.         stw      r5,12(r4)
  233.         stw      r5,16(r4)
  234.         stw      r5,20(r4)
  235.         stw      r5,24(r4)
  236.         stw      r5,28(r4)
  237.         addi     r4,r4,32
  238.         bdnz     *-40                    ; $00000198
  239.         bc       12,30,*+36              ; $000001E8
  240.         mr       r6,r5
  241.         mr       r7,r5
  242.         mr       r8,r5
  243.         mr       r9,r5
  244.         mr       r10,r5
  245.         mr       r11,r5
  246.         mr       r12,r5
  247.         stswx    r5,r0,r4
  248.         addi     r3,r3,4
  249.         add      r4,r4,r31
  250.         add      r19,r19,r31
  251.         b        *-468                   ; $00000020
  252.         cmplwi   r30,$0001
  253.         bne      *+44                    ; $00000228
  254.         cmplw    r18,r21
  255.         bge      *+8                     ; $0000020C
  256.         add      r3,r3,r31
  257.         cmplw    r18,r20
  258.         bge      *+32                    ; $00000230
  259.         mr       r4,r28
  260.         add      r28,r28,r27
  261.         li       r19,0
  262.         addi     r18,r18,1
  263.         b        *-516                   ; $00000020
  264.         cmplwi   r30,$0000
  265.         beq      *+4                     ; $00000230
  266.         lmw      r18,-60(SP)
  267.         blr
  268.  
  269.